stylecontext: Don't do anything with empty widget path
authorBenjamin Otte <otte@redhat.com>
Mon, 21 Jul 2014 23:06:32 +0000 (01:06 +0200)
committerBenjamin Otte <otte@redhat.com>
Mon, 21 Jul 2014 23:10:21 +0000 (01:10 +0200)
It's a corner case, but empty widget paths don't allow setting
state/regions/classes, so exit early

Fixes gtk/stylecontext test.

gtk/gtkstylecontext.c

index cc04eea70f19f0f755eed332701c58770845d4be..8146819ba0cd690897d92cf50d4f602c296beb1b 100644 (file)
@@ -718,11 +718,14 @@ create_query_path (GtkStyleContext *context,
 {
   GtkStyleContextPrivate *priv;
   GtkWidgetPath *path;
-  guint i, pos;
+  guint i, pos, length;
 
   priv = context->priv;
   path = priv->widget ? _gtk_widget_create_path (priv->widget) : gtk_widget_path_copy (priv->widget_path);
-  pos = gtk_widget_path_length (path) - 1;
+  length = gtk_widget_path_length (path);
+  if (length == 0)
+    return path;
+  pos = length - 1;
 
   /* Set widget regions */
   for (i = 0; i < info->regions->len; i++)